package com.winkyle.woodenfish.mvpview;

import android.app.Activity;
import android.content.Context;

/**
 * @author winkyle
 * @date 2018/06/13
 * @description 所有mvpView的父接口，也是v层（页面接口层）
 */

public interface BaseMvpView {

    /**
     * @description 带参数跳转活动
     * @param clazz 跳转活动的类类型
     * @param data 带的参数
     * @return
     */
    void startActivity(Class<? extends Activity> clazz, String... data);

    /**
     * @description 不带参数跳转活动
     * @param clazz 跳转活动的类类型
     * @return
     */
    void startActivity(Class<? extends Activity> clazz);

    /**
     * @description 弹出提示框
     * @param msg 提示框显示的内容
     * @return
     */
    void showRemindDialog(String msg);

    /**
     * @description 获取上下文
     * @return
     */
    Context getContext();

    /**
     * @description 弹出长Toast
     * @param msg 要显示的消息
     * @return
     */
    void showLongToast(String msg);

    /**
     * @description 弹出短Toast
     * @param msg 要显示的消息
     * @return
     */
    void showShortToast(String msg);

    /**
     * @description 显示不带信息的进度条对话框
     * @return
     */
    void showProgress();

    /**
     * @description 显示带信息的进度条对话框
     * @param msg 要显示的信息
     * @return
     */
    void showProgress(String msg);

    /**
     * @description 隐藏进度条对话框
     * @return
     */
    void hideProgress();
}
